//
//  QMAShareDelegate.h
//  Pods
//
//  Created by hankzhu on 2020/3/3.
//  Copyright © 2021 tencent. All rights reserved.
//

#ifndef QMAShareDelegate_h
#define QMAShareDelegate_h

#import <Foundation/Foundation.h>
#import "QMADelegateDefine.h"

//触发分享的场景（主要用于上报）
typedef NS_ENUM(NSUInteger, MAShareScene) {
    MAShareSceneDetail, //应用详情
    MAShareSceneApp, //应用内（包括三个点）
    MAShareOpenData, //开放数据域
};

NS_ASSUME_NONNULL_BEGIN

@protocol QMAShareDelegate <NSObject>

/**
 * @brief 分享的接口
 * @param shareModel 分享model
 * @param application application实例
 * @param completionBlock 回调
 */
- (void)shareMessageWithModel:(QMAShareModel *_Nonnull)shareModel
                  application:(MABaseApplication *_Nonnull)application
                        scene:(MAShareScene)scene
              completionBlock:(nullable void(^)(NSError * _Nullable error))completionBlock;

/**
 * @brief 分享在没有传imageURL情况下，获取默认的分享imageURL，小游戏有特殊的逻辑，和外部公用逻辑
 * @param appInfo 小程序appinfo
 * @param shareTarget 分享类型
 */
- (NSString *_Nonnull)defaultImageURL:(MAAppInfo *_Nonnull)appInfo shareTarget:(MAShareTarget)shareTarget;

@optional
// 频道业务方需实现，业务逻辑判断是否展示频道分享入口
- (BOOL)allowShareToGuild;

@end

NS_ASSUME_NONNULL_END

#endif /* QMAShareDelegate_h */
